# encoding: utf-8

class CartsController < ApplicationController

	before_filter :login_required

	def index

	end

	def view_cart
		@cart = Cart.find(:first, :conditions => ["user_id = ?", session[:user].id])
		@cart_produces = CartProduce.where(:cart_id => @cart.id).order("cart_produces.time_new DESC")
		#@produce = Produce.find(@pro.produce_id)
	end

	def buy
		@cart = Cart.find(:first, :conditions => ["user_id = ?", session[:user].id])
		@produce = Produce.find(params[:id])
		@end = End.new(params[:end])
		flash[:notice] = "Bạn đang chọn mua sản phẩm " + @produce.name
		
		if @end.save
			if @end.quantity <= @produce.available
				flash[:notice] = "Bạn đã mua sản phẩm " + @produce.name + " thành công."
				temp = @produce.available - @end.quantity
				@produce.update_attribute(:available, temp)
				@cart.ends << @end
				redirect_to :action => "after_buy"
			else
				flash[:notice] = "Sản phẩm bạn chọn mua không còn đủ số lượng để cung cấp."
				End.destroy(@end)
				redirect_to :action => "after_buy"
			end
		end

		#@cart.ends << @end
		#redirect_to :action => 'view_cart' #need to modify
	end

	def after_buy
	end

	def delete_produce
		@cart = Cart.find(:first, :conditions => ["user_id = ?", session[:user].id])
		@produce = CartProduce.find(params[:id])	
		@cart.cart_produces.destroy(@produce)	
		redirect_to :action => 'view_cart'
	end
end
